Commit এবং Rollback

Database Tutorials - এইচ২ ডাটাবেস (H2 Database) H2 এর ট্রানজাকশন ম্যানেজমেন্ট |
272
272

H2 Database-এ Commit এবং Rollback দুটি গুরুত্বপূর্ণ ট্রানজেকশন ম্যানেজমেন্ট অপারেশন। এগুলি ডেটাবেজের ডেটা পরিবর্তনের প্রক্রিয়া নিয়ন্ত্রণ করে এবং ডেটাবেজে সঠিকতা এবং অখণ্ডতা (consistency) বজায় রাখে। নিচে এই দুটি অপারেশন এবং তাদের ব্যবহার বিস্তারিতভাবে আলোচনা করা হলো।


Commit

Commit হল একটি SQL ট্রানজেকশন অপারেশন যা ডেটাবেজে করা পরিবর্তনগুলি স্থায়ী (persistent) করে তোলে। যখন একটি ট্রানজেকশনের মধ্যে একাধিক অপারেশন (যেমন INSERT, UPDATE, DELETE) করা হয়, তখন Commit এই পরিবর্তনগুলিকে ডেটাবেজে সেভ করে দেয়।

Commit কিভাবে কাজ করে:

  • যখন আপনি Commit করেন, তখন ট্রানজেকশনের মধ্যে করা সমস্ত পরিবর্তন চূড়ান্ত হয়ে যায় এবং সেগুলি স্থায়ীভাবে ডেটাবেজে সংরক্ষিত হয়।
  • একবার Commit করার পরে, ট্রানজেকশন শেষ হয়ে যায় এবং কোনও পরিবর্তন আর বাতিল (rollback) করা সম্ভব নয়।

Commit উদাহরণ:

BEGIN;

INSERT INTO employees (id, name, position, salary) VALUES (1, 'Alice', 'Engineer', 50000);
UPDATE employees SET salary = 60000 WHERE id = 1;

COMMIT;

এখানে:

  • BEGIN দ্বারা ট্রানজেকশন শুরু হয়েছে।
  • কিছু পরিবর্তন করা হয়েছে (INSERT এবং UPDATE অপারেশন)।
  • COMMIT অপারেশন দ্বারা এই পরিবর্তনগুলি ডেটাবেজে স্থায়ী হয়ে গেছে।

Commit এর সুবিধা:

  • ডেটার অখণ্ডতা রক্ষা: একাধিক অপারেশনের পরিবর্তন একসাথে সেভ হয়, ফলে ডেটাবেজের তথ্যের মধ্যে অখণ্ডতা (consistency) বজায় থাকে।
  • কনকারেন্সি: একাধিক ব্যবহারকারী যখন ডেটাবেজে কাজ করছেন, তখন একে অপরের পরিবর্তনগুলির সঙ্গে সংঘর্ষ (conflict) কম হয়।

Rollback

Rollback হল একটি SQL ট্রানজেকশন অপারেশন যা ট্রানজেকশনের মধ্যে করা সমস্ত পরিবর্তন পূর্বাবস্থায় ফিরিয়ে আনে। যদি আপনি একটি ট্রানজেকশন চলাকালে কোনও ভুল বা সমস্যা দেখতে পান, তবে Rollback ব্যবহার করে আপনি সমস্ত পরিবর্তন বাতিল করতে পারেন এবং ডেটাবেজকে পূর্বের অবস্থায় ফিরিয়ে আনতে পারেন।

Rollback কিভাবে কাজ করে:

  • যখন Rollback করা হয়, তখন ট্রানজেকশনের মধ্যে করা সমস্ত পরিবর্তন ফিরিয়ে আনা হয় এবং ডেটাবেজ পূর্বের অবস্থায় ফিরে আসে।
  • এটি তখনই ব্যবহার করা হয় যখন আপনি নিশ্চিত হন যে আপনি করা পরিবর্তনগুলো স্থায়ী করতে চান না।

Rollback উদাহরণ:

BEGIN;

INSERT INTO employees (id, name, position, salary) VALUES (2, 'Bob', 'Manager', 70000);
UPDATE employees SET salary = 65000 WHERE id = 2;

-- যদি কিছু ভুল হয়, Rollback করা হবে
ROLLBACK;

এখানে:

  • BEGIN দ্বারা ট্রানজেকশন শুরু হয়েছে।
  • কিছু পরিবর্তন করা হয়েছে (INSERT এবং UPDATE অপারেশন)।
  • ROLLBACK দ্বারা করা সমস্ত পরিবর্তন বাতিল হয়ে যাবে এবং ডেটাবেজ পূর্বের অবস্থায় ফিরে যাবে।

Rollback এর সুবিধা:

  • ত্রুটি মোকাবিলা: যখন কোনও ভুল হয়, তখন আপনি Rollback করে ডেটাবেজের পূর্বের অবস্থায় ফিরে যেতে পারেন, ফলে ডেটা সুরক্ষিত থাকে।
  • ডেটাবেজে স্থায়ী পরিবর্তন এড়ানো: কোনও অপারেশন ভুল হলে তা বাতিল করার মাধ্যমে অপ্রয়োজনীয় বা ক্ষতিকর পরিবর্তন আটকানো যায়।

Commit এবং Rollback এর মধ্যে পার্থক্য

বৈশিষ্ট্যCommitRollback
ফাংশনপরিবর্তনগুলিকে ডেটাবেজে স্থায়ী করে তোলেকরা পরিবর্তনগুলো বাতিল করে পূর্বের অবস্থায় ফিরে আসে
ব্যবহারযখন আপনি নিশ্চিত হন যে সব কিছু সঠিকভাবে সম্পন্ন হয়েছেযখন একটি ভুল বা সমস্যা ঘটে এবং পরিবর্তনগুলো বাতিল করতে হয়
পরিণতিপরিবর্তন স্থায়ী হয় এবং আর বাতিল করা যায় নাপরিবর্তনগুলি বাতিল হয়ে যায়, এবং ডেটাবেজ পূর্বের অবস্থায় ফিরে আসে
কখন ব্যবহার করবেনডেটাবেজে করা পরিবর্তনগুলো নিশ্চিতভাবে সেভ করতেভুল সংশোধন করতে বা পরীক্ষার সময়ে ডেটাবেজে কোনো পরিবর্তন করতে না চাওয়া

অ্যাডভান্সড ট্রানজেকশন ম্যানেজমেন্ট: Isolation Levels

H2 ডেটাবেজে ট্রানজেকশনের Isolation Levels ব্যবহার করা যায়, যা ট্রানজেকশনের কার্যকলাপের মধ্যে বিভিন্ন রকমের concurrency control পরিচালনা করে। নিম্নলিখিত Isolation Levels সমর্থিত:

  1. READ UNCOMMITTED: এক ট্রানজেকশনের অসম্পূর্ণ (uncommitted) পরিবর্তন অন্য ট্রানজেকশনে পড়া যেতে পারে।
  2. READ COMMITTED: শুধুমাত্র কমিট হওয়া পরিবর্তনগুলি পড়া যাবে।
  3. REPEATABLE READ: একই ট্রানজেকশনের মধ্যে একই ডেটা একাধিকবার পড়লে তা অপরিবর্তিত থাকবে।
  4. SERIALIZABLE: ট্রানজেকশনের মধ্যে সম্পূর্ণ isolation তৈরি করে, যাতে কোনো দুই ট্রানজেকশন একে অপরের ডেটা পড়তে বা পরিবর্তন করতে না পারে।

সারাংশ

  • Commit: একটি ট্রানজেকশনের মধ্যে করা পরিবর্তনগুলো স্থায়ী করে এবং ডেটাবেজে সেভ করে।
  • Rollback: একটি ট্রানজেকশনের মধ্যে করা সমস্ত পরিবর্তন বাতিল করে এবং ডেটাবেজকে পূর্বের অবস্থায় ফিরিয়ে আনে।

H2 ডেটাবেজে ট্রানজেকশন ম্যানেজমেন্টের মাধ্যমে আপনি নিশ্চিত করতে পারেন যে আপনার ডেটাবেজের ডেটা সঠিক, স্থায়ী এবং সুরক্ষিত থাকে। Commit এবং Rollback হল ডেটাবেজে সর্বোচ্চ অখণ্ডতা এবং নিয়ন্ত্রণ বজায় রাখার জন্য অপরিহার্য টুল।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion